java - Selenium 测试运行不会保存 cookie?
全部标签 您在Rails应用程序的Selenium测试中使用哪些数据?您是否从固定装置加载?使用现有的开发数据库?使用单独的(非fixture)数据库?我正在考虑我的选择。我有一个带有大型Selenium测试套件的Rails应用程序,该测试套件在修改版本的SeleniumGrid上运行。现在,该过程的一部分是在测试套件运行之前一次加载大量固定装置。这是很多数据。其中大部分是报告从我们的生产数据库导出的信息。当我最初设置它时,我将数据从Oracle导出到yaml。现在某些报告表中的架构发生了变化,因此我当然必须重新生成fixture数据。它太多了,手动编辑文件是不值得的。但是,必须为每一个小的模式
在我的RubyonRails应用程序中,我需要并行执行50个后台作业。每个作业都会创建一个到不同服务器的TCP连接,提取一些数据并更新事件记录对象。我知道执行此任务的不同解决方案,但其中任何一个都是并行的。例如,delayed_job(DJ)可能是一个很好的解决方案,只要它可以并行执行所有作业。有什么想法吗?谢谢。 最佳答案 实际上可以运行多个delayed_jobworker。来自http://github.com/collectiveidea/delayed_job:#Runstwoworkersinseparateproces
在一个简单的mongoid数据模型上,用户有很多评论,我想在用户至少写1条评论时奖励他一个特定的徽章。所以我设置了一个这样的观察者:classCommentBadgeObserver1badge=CommentBadge.create(:title=>"Commentbadge")user.award(badge)endendenduser.award方法:defaward(badge)self.badges下面的测试失败了(但我猜这是正常的,因为观察者是在后台执行的?)it'shouldawardtheuserwithcommentbadge'do@comment=Factory(:
我有一个ruby脚本(https://github.com/daemonza/MacBak)作为守护进程在我的macbook上运行并监视一堆目录的文件更改和rsync发生的任何更改。我想知道我能否让它在顶部的菜单栏中创建一个图标?只是为了让我知道它确实在运行,而不必使用ps检查它。也许以后如果需要的话,我可能希望能够从那里控制脚本,简单的带有停止和状态条目的下拉菜单等。从ObjectC看来我可以调用NSStatusItem来获取图标,但我真的只是想通过我的Ruby脚本轻松地完成它。也许我可以做一些applescript调用? 最佳答案
看了thisquestion已经,这或多或少反射(reflect)了我目前如何运行我的整个套件。此外,我还设置了以下rake任务:Rake::TestTask.newdo|t|t.name="spec:models"t.libs但我注意到当我使用timerakespec:models运行它时,它在大约2.36秒内完成。如果我使用ruby/path/to/spec.rb运行该目录中的所有单独测试(目前所有测试都与ActiveRecord隔离——还没有持久性,所以速度非常快),它们的累计总用户时间是2.36秒,但我也注意到虽然每个文件从开始到结束需要0.4用户秒来执行,但MiniTest报
当我登录到我的应用程序时,服务器会发回cookie(凭据和某些应用程序的cookie):Responsesent170bytesofCookiedata:Set-Cookie:user_credentials=val;path=/;HttpOnly;SecureResponsesent554bytesofCookiedata:Set-Cookie:_app_session=otherVal;path=/;HttpOnly;Secure...然后重定向到主页;Cookie包含一些标志:例如httpOnly、Secure等我如何测试cookie是否包含那些带有Rspec的标志?至少我在哪里
我正在尝试跟踪“匿名”用户的操作,并在他们注册后最终将其与他们的帐户相关联。我想我会通过设置永久cookie来做到这一点。我最好的选择是在ApplicationController中包含以下内容:classApplicationController这是正确的方法还是有更好的解决方案? 最佳答案 看起来不错,永久性cookie在未来(20年左右)过期,所以只要用户不手动删除它,您就应该能够跟踪他。我在很多地方都使用了这样的结构,而且效果很好。如果您包含要通过此操作加载的内容(典型的跟踪像素),您甚至可以让它在外部着陆页上运行。
我的测试是使用固定装置编写的,我正在慢慢重构它们以使用工厂。一旦我重构了一个测试类以不使用固定装置,我就不想为该类加载固定装置。有没有办法做到这一点?或者我是否坚持要么为所有内容加载它们,要么什么都不加载?对于上下文,这是我现在的灯具设置方式:classActiveSupport::TestCaseRake::Task["db:fixtures:load"].execute...end 最佳答案 将fixtures放入test/fixtures/users.yml然后您可以将它们包含在您需要的地方,例如spec_helper#spe
我正在开发一个利用twitteroauth的应用程序,但在试图弄清楚如何测试twitteroauth时遇到了障碍。特别是尝试使用Cucumber和Webrat/Selenium来测试功能——注册/登录过程中的某些步骤在用户是否授予对应用程序的oauth访问权限等方面表现不同。有没有人在他们的RubyonRailsCucumber功能(或与此相关的任何其他测试框架)中成功模拟或stub部分或全部TwitterOAuth系统?任何帮助将不胜感激。 最佳答案 OP已经一年多了,但我最近发现这篇关于使用TwitterAuth和Cucumbe
更详细地说,我有一个模块Narf,它为一系列类提供基本功能。具体来说,我想影响所有继承Enumerable的类。所以我在Enumerable中includeNarf。Array是默认包含Enumerable的类。然而,它不受Narf延迟包含在模块中的影响。有趣的是,在包含之后定义的类从Enumerable获取Narf。示例:#ThismoduleprovidesessentialfeaturesmoduleNarfdefnarf?puts"(from#{self.class})ZORT!"endend#IwantallEnumerablestobeabletoNarfmoduleEnu